package com.review.group.mapper;

import java.util.List;
import com.review.group.domain.ReviewGroup;
import org.apache.ibatis.annotations.Param;

/**
 * 小组Mapper接口
 *
 * @author lls
 * @date 2022-03-16
 */
public interface ReviewGroupMapper
{
    /**
     * 查询小组
     *
     * @param id 小组主键
     * @return 小组
     */
    public ReviewGroup selectReviewGroupById(Long id);

    /**
     * 查询小组列表
     *
     * @param reviewGroup 小组
     * @return 小组集合
     */
    public List<ReviewGroup> selectReviewGroupList(ReviewGroup reviewGroup);

    /**
     * 新增小组
     *
     * @param reviewGroup 小组
     * @return 结果
     */
    public int insertReviewGroup(ReviewGroup reviewGroup);

    /**
     * 修改小组
     *
     * @param reviewGroup 小组
     * @return 结果
     */
    public int updateReviewGroup(ReviewGroup reviewGroup);

    /**
     * 删除小组
     *
     * @param id 小组主键
     * @return 结果
     */
    public int deleteReviewGroupById(Long id);

    /**
     * 批量删除小组
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteReviewGroupByIds(Long[] ids);
    public int deleteReviewGroupByIds1(Long[] ids);
    public int deleteReviewGroupByIds2( Long[] ids);
    public int deleteReviewGroupByIds3(Long[] ids);

//    int insertReviewGroupUser(@Param("ids") Long[] ids, @Param("id") Long id);

    public int addProjects(@Param("proIds") Long[] proIds, @Param("groupId") Long groupId);

    public int addProjects2(@Param("proIds") Long[] proIds, @Param("groupId") Long groupId);

    Long[] selectGroupUser(@Param("reviewGroup") ReviewGroup reviewGroup);

    void addGroupUserPro(@Param("userIds") Long[] userIds, @Param("proIds") Long[] proIds, @Param("groupId") Long groupId);

    void deleteReviewGroupByIds4(Long[] ids);

    int addGroupUsers(@Param("userIds") Long[] users,@Param("groupId") Long groupId);

    void addGroupUsersScore(@Param("userIds") Long[] users, @Param("proIds") Long[] proIds, @Param("groupId") Long groupId);
}
